home *** CD-ROM | disk | FTP | other *** search
/ Revista CD Expert 41 / CD Expert nº 41.iso / DReign2 / DR2Demo.exe / data1.cab / Files / missions / system / shell.zwp / interface_shell.cfg < prev    next >
Encoding:
Text File  |  2000-09-01  |  19.2 KB  |  775 lines

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright 1997-2000 Activision Studios, Strategy Group
  4. //
  5. // Dark Reign II - Options menu
  6. //
  7.  
  8. //
  9. // Define common shell controls
  10. //
  11. ConfigureInterface()
  12. {
  13.   CreateColorGroup("sys::textureshell", "sys::texture")
  14.   {
  15.     NormalBg(0, 0, 0, 193);
  16.     NormalFg(63, 192, 63);
  17.     HilitedBg(0, 0, 0, 255);
  18.     HilitedFg(100, 255, 100);
  19.   }
  20.   CreateColorGroup("sys::temptextureshell", "sys::texture")
  21.   {
  22.     NormalBg(0, 0, 0, 0);
  23.     NormalFg(63, 192, 0);
  24.     HilitedBg(0, 0, 0, 255);
  25.     HilitedFg(100, 255, 100);
  26.   }
  27.  
  28.   CreateColorGroup("sys::textureshellmain", "Sys::Texture")
  29.   {
  30.     NormalTexture("interface_frame.pic", 0, 0, 128, 128);
  31.     HilitedTexture("interface_frame2.pic", 0, 0, 128, 128);
  32.     SelectedTexture("interface_frame2.pic", 0, 0, 128, 128);
  33.     HilitedSelTexture("interface_frame2.pic", 0, 0, 128, 128);
  34.     DisabledTexture("interface-02.pic", 169, 119, 87, 15);
  35.   }
  36.  
  37.   DefineControlType("ShellMainBigButton", "Button")
  38.   {
  39.     Size(200, 50);
  40.     ColorGroup("sys::textureshellmain");
  41.     Style("!DropShadow");
  42.     Font("AllCaps");
  43.   }
  44.   DefineControlType("ShellMainButton", "Button")
  45.   {
  46.     Size(125, 30);
  47.     ColorGroup("sys::textureshell");
  48.     Image("interface_bar.pic", 0, 0, 123, 30);
  49.     Font("Button");
  50.   }
  51.   DefineControlType("ShellMainSmallButton", "Button")
  52.   {
  53.     Size(116, 30);
  54.     ColorGroup("sys::textureshell");
  55.     Image("interface_bar.pic", 0, 0, 123, 30);
  56.     Font("Button");
  57.   }
  58.   DefineControlType("ShellMainTempButton", "Button")
  59.   {
  60.     Size(125, 30);
  61.     ColorGroup("sys::temptextureshell");
  62.     Style("!DropShadow");
  63.     Image("interface_bar.pic", 0, 0, 123, 30);
  64.     Font("Tiny");
  65.   }
  66.  
  67.   DefineControlType("Class::ShellOptions", "Window")
  68.   {
  69.     ReadTemplate("Class::BaseOptions");
  70.  
  71.     CreateControl("Buttons", "Menu")
  72.     {
  73.       Geometry("Bottom", "Right");
  74.       Pos(-5, -5);
  75.       Style("Horizontal", "NoAutoSize", "!DropShadow", "Transparent");
  76.       MenuEdge(0);
  77.  
  78.       ItemConfig()
  79.       {
  80.         ReadTemplate("Std::Button");
  81.         Font("System");
  82.         Size(160, 25);
  83.       }
  84.  
  85.       AddItem("Exit DR2")
  86.       {
  87.         Text("#shell.win.options.exit");
  88.         TipText("#shell.win.options.exit_tip");
  89.  
  90.         OnEvent("Button::Notify::Pressed")
  91.         {
  92.           MessageBox()
  93.           {
  94.             Title("#standard.confirm.title");
  95.             Message("#standard.confirm.message");
  96.             Button0("#standard.buttons.ok", "Confirmed");
  97.             Button1("#standard.buttons.cancel", "");
  98.           }
  99.         }
  100.  
  101.         OnEvent("Confirmed")
  102.         {
  103.           If("multiplayer.flags.online")
  104.           {
  105.             If("multiplayer.flags.isHost")
  106.             {
  107.               Cmd("multiplayer.migrate");
  108.               Op("$|Multiplayer::Connect.action", "=", "quit");
  109.               Deactivate("<<<<");
  110.             }
  111.             Else()
  112.             {
  113.               Cmd("multiplayer.abort");
  114.               Cmd("quit");
  115.             }
  116.           }
  117.           Else()
  118.           {
  119.             Cmd("quit");
  120.           }
  121.         }
  122.       }
  123.     }
  124.   }
  125. }
  126.  
  127. CreateControl("Shell::EventHandler", "Window")
  128. {
  129.   CreateVarString("control", "");
  130.   CreateVarString("Campaign", "");
  131.  
  132.   OnEvent("CineractiveCompleted")
  133.   {
  134.     Switch("gamegod.flow.state")
  135.     {
  136.       Case("Logout")
  137.       {
  138.         Cmd("sys.runcode login");
  139.       }
  140.       Case("Quit")
  141.       {
  142.         Cmd("quit");
  143.       }
  144.       Case("WON::Return")
  145.       {
  146.         SendNotifyEvent("", "WON::Enter");
  147.       }
  148.       Case("Network::Return")
  149.       {
  150.         SendNotifyEvent("", "Network::Enter");
  151.       }
  152.     }
  153.     Activate("*$.control");
  154.   }
  155.  
  156.   OnEvent("Main::Init")
  157.   {
  158.     Op("multiplayer.flags.inWon", "=", 0);
  159.     Switch("gamegod.flow.action")
  160.     {
  161.       Case("Return")
  162.       {
  163.         Switch("gamegod.flow.state")
  164.         {
  165.           Case("Instant")
  166.           {
  167.             Op("$.control", "=", "|Shell::Main");
  168.             Cmd("team.objectives.new s Cineractive::Main::Enter");
  169.           }
  170.           Case("WON")
  171.           {
  172.             Op("$.control", "=", "");
  173.             Op("gamegod.flow.state", "=", "WON::Return");
  174.             Cmd("team.objectives.new s Cineractive::Multi::Return");
  175.           }
  176.           Case("Network")
  177.           {
  178.             Op("$.control", "=", "");
  179.             Op("gamegod.flow.state", "=", "Network::Return");
  180.             Cmd("team.objectives.new s Cineractive::Multi::Return");
  181.           }
  182.           Default()
  183.           {
  184.             SendNotifyEvent("", "Main::Enter");
  185.           }
  186.         }
  187.       }
  188.       Case("Setup")
  189.       {
  190.         Switch("gamegod.flow.state")
  191.         {
  192.           Case("Instant")
  193.           {
  194.             Op("$.control", "=", "|GameSetup::Instant");
  195.             Cmd("team.objectives.new s Cineractive::Multi::Return");
  196.             SendNotifyEvent("|GameSetup::Instant", "GameSetup::Message::Created");
  197.           }
  198.           Default()
  199.           {
  200.             SendNotifyEvent("", "Main::Enter");
  201.           }
  202.         }
  203.       }
  204.       Default()
  205.       {
  206.         SendNotifyEvent("", "Main::Enter");
  207.       }
  208.     }
  209.   }
  210.  
  211.   OnEvent("Main::Enter")
  212.   {
  213.     Op("gamegod.flow.state", "=", "");
  214.     Op("gamegod.flow.action", "=", "");
  215.  
  216.     Con("Diag", "Shell Main::Enter");
  217.     Deactivate("*$.control");
  218.     Op("$.control", "=", "|Shell::Main");
  219.     Cmd("team.objectives.new s Cineractive::Main::Enter");
  220.   }
  221.   OnEvent("Main::Exit")
  222.   {
  223.     Con("Diag", "Shell Main::Exit");
  224.     Deactivate("*$.control");
  225.     Op("$.control", "=", "");
  226.     Cmd("team.objectives.new s Cineractive::Main::Exit");
  227.   }
  228.  
  229.   OnEvent("Campaign::Enter")
  230.   {
  231.     Op("gamegod.flow.state", "=", "Campaign");
  232.  
  233.     Con("Diag", "Shell Campaign::Enter");
  234.     Deactivate("*$.control");
  235.     Op("$.control", "=", "|Shell::Campaign");
  236.     Cmd("team.objectives.new s Cineractive::Campaign::Enter");
  237.   }
  238.   OnEvent("Campaign::Exit")
  239.   {
  240.     Op("gamegod.flow.state", "=", "");
  241.  
  242.     Con("Diag", "Shell Campaign::Exit");
  243.     Deactivate("*$.control");
  244.     Op("$.control", "=", "|Shell::Main");
  245.     Cmd("team.objectives.new s Cineractive::Campaign::Exit");
  246.   }
  247.  
  248.   OnEvent("Campaign::JDA")
  249.   {
  250.     Con("Diag", "Shell Campaign::JDA");
  251.     Deactivate("*$.control");
  252.     Op("$.Campaign", "=", "missions\jda");
  253.     Op("$|Shell::Campaign::Side.campaignName", "=", "missions\jda");
  254.     Op("$.control", "=", "|Shell::Campaign::Side");
  255.     Cmd("team.objectives.new s Cineractive::Campaign::JDA::Enter");
  256.     Activate("|Shell::Campaign::Side");
  257.     Activate("|Shell::JDALogo");
  258.  
  259.   }
  260.  
  261.   OnEvent("Campaign::Sprawler")
  262.   {
  263.     Con("Diag", "Shell Campaign::Sprawler");
  264.     Deactivate("*$.control");
  265.     Op("$.Campaign", "=", "missions\sprawler");
  266.     Op("$|Shell::Campaign::Side.campaignName", "=", "missions\sprawler");
  267.     Op("$.control", "=", "|Shell::Campaign::Side");
  268.     Cmd("team.objectives.new s Cineractive::Campaign::Sprawler::Enter");
  269.     Activate("|Shell::Campaign::Side");
  270.     Activate("|Shell::SprawlerLogo");
  271.  
  272.   }
  273.  
  274.   OnEvent("Campaign::Custom")
  275.   {
  276.     Con("Diag", "Shell Campaign::Custom");
  277.     Deactivate("*$.control");
  278.     Activate("|Shell::Campaign::Custom");
  279.     Op("$.Campaign", "=", "Custom");
  280.   }
  281.  
  282.   OnEvent("Campaign::JDA::Exit")
  283.   {
  284.     Con("Diag", "Shell Campaign::JDA::Exit");
  285.     Deactivate("|Shell::Campaign::Side");
  286.     Deactivate("|Shell::JDALogo");
  287.     Op("$.control", "=", "|Shell::Campaign");
  288.     Cmd("team.objectives.new s Cineractive::Campaign::JDA::Exit");
  289.   }
  290.  
  291.   OnEvent("Campaign::Sprawler::Exit")
  292.   {
  293.     Con("Diag", "Shell Campaign::Sprawler::Exit");
  294.     Deactivate("|Shell::Campaign::Side");
  295.     Deactivate("|Shell::SprawlerLogo");
  296.     Op("$.control", "=", "|Shell::Campaign");
  297.     Cmd("team.objectives.new s Cineractive::Campaign::Sprawler::Exit");
  298.   }
  299.  
  300.   OnEvent("Campaign::Custom::Exit")
  301.   {
  302.     Con("Diag", "Shell Campaign::Custom::Exit");
  303.     Deactivate("|Shell::Campaign::Custom");
  304.     Activate("|Shell::Campaign");
  305.   }
  306.  
  307.   OnEvent("Load::Enter")
  308.   {
  309.     Con("Diag", "Shell Load::Enter");
  310.     Deactivate("*$.control");
  311.     Op("$.control", "=", "|Shell::Load");
  312.     Cmd("team.objectives.new s Cineractive::Load::Enter");
  313.   }
  314.  
  315.   OnEvent("Load::Exit")
  316.   {
  317.     Con("Diag", "Shell Load::Exit");
  318.     Deactivate("|Shell::Load");
  319.     Op("$.control", "=", "|Shell::Main");
  320.     Cmd("team.objectives.new s Cineractive::Load::Exit");
  321.   }
  322.  
  323.   OnEvent("Instant::Enter")
  324.   {
  325.     Op("gamegod.flow.state", "=", "Instant");
  326.  
  327.     Con("Diag", "Shell Instant::Enter");
  328.     Deactivate("*$.control");
  329.     Op("$.control", "=", "|GameSetup::Instant");
  330.     Cmd("team.objectives.new s Cineractive::Multi::Enter");
  331.     SendNotifyEvent("|GameSetup::Instant", "GameSetup::Message::Created");
  332.   }
  333.   OnEvent("Instant::Exit")
  334.   {
  335.     Op("gamegod.flow.state", "=", "");
  336.  
  337.     Con("Diag", "Shell Instant::Exit");
  338.     Deactivate("*$.control");
  339.     Op("$.control", "=", "|Shell::Main");
  340.     Cmd("team.objectives.new s Cineractive::Multi::Exit");
  341.   }
  342.  
  343.   OnEvent("Multi::Enter")
  344.   {
  345.     Op("gamegod.flow.state", "=", "Multiplayer");
  346.  
  347.     Con("Diag", "Shell Multi::Enter");
  348.     Deactivate("*$.control");
  349.     Op("$.control", "=", "|Shell::Multi");
  350.     Cmd("team.objectives.new s Cineractive::Multi::Enter");
  351.   }
  352.   OnEvent("Multi::Exit")
  353.   {
  354.     Op("gamegod.flow.state", "=", "");
  355.  
  356.     Con("Diag", "Shell Multi::Exit");
  357.     Deactivate("*$.control");
  358.     Op("$.control", "=", "|Shell::Main");
  359.     Cmd("team.objectives.new s Cineractive::Multi::Exit");
  360.   }
  361.  
  362.   OnEvent("Replay::Enter")
  363.   {
  364.     Op("gamegod.flow.state", "=", "Replay");
  365.  
  366.     Deactivate("*$.control");
  367.     Activate("|Shell::Replay");
  368.   }
  369.  
  370.   OnEvent("Replay::Exit")
  371.   {
  372.     Op("gamegod.flow.state", "=", "");
  373.  
  374.     Deactivate("|Shell::Replay");
  375.     Activate("|Shell::Main");
  376.   }
  377.  
  378.   OnEvent("Options::Enter")
  379.   {
  380.     Op("gamegod.flow.state", "=", "Options");
  381.  
  382.     Deactivate("*$.control");
  383.     Op("$.control", "=", "|Shell::Options");
  384.     Cmd("team.objectives.new s Cineractive::Options::Enter");
  385.   }
  386.   OnEvent("Options::Exit")
  387.   {
  388.     Op("gamegod.flow.state", "=", "");
  389.  
  390.     Deactivate("*$.control");
  391.     Op("$.control", "=", "|Shell::Main");
  392.     Cmd("team.objectives.new s Cineractive::Options::Exit");
  393.   }
  394.  
  395.   OnEvent("Credits::Enter")
  396.   {
  397.     Op("gamegod.flow.state", "=", "Credits");
  398.  
  399.     Deactivate("*$.control");
  400.     Op("$.control", "=", "|Shell::Credits");
  401.     Cmd("team.objectives.new s Cineractive::Credits::Enter");
  402.   }
  403.   OnEvent("Credits::Exit")
  404.   {
  405.     Op("gamegod.flow.state", "=", "");
  406.  
  407.     Deactivate("*$.control");
  408.     Op("$.control", "=", "|Shell::Main");
  409.     Cmd("team.objectives.new s Cineractive::Credits::Exit");
  410.   }
  411.  
  412.   OnEvent("WON::Enter")
  413.   {
  414.     Op("gamegod.flow.state", "=", "WON");
  415.     Op("multiplayer.flags.inWon", "=", 1);
  416.  
  417.     Con("Diag", "Shell WON::Enter");
  418.     Deactivate("*$.control");
  419.     Op("$.control", "=", "");
  420.  
  421.     If("multiplayer.flags.update", "==", 0)
  422.     {
  423.       Op("multiplayer.flags.update", "=", 1);
  424.       Cmd("multiplayer.download.updates");
  425.       Activate("|Multiplayer::Updates");
  426.     }
  427.     Else()
  428.     {
  429.       ConConvert("Won", "Won::Old");
  430.       Con("Won", "#won.connect.lookup");
  431.       Activate("|WonConnect");
  432.       Cmd("won.setup");
  433.       Op("$|WonConnect.state", "=", "Connect");
  434.       Op("$|WonConnect.autologin", "=", 1);
  435.     }
  436.   }
  437.   OnEvent("WON::Exit")
  438.   {
  439.     Op("gamegod.flow.state", "=", "");
  440.     Op("multiplayer.flags.inWon", "=", 0);
  441.  
  442.     Con("Diag", "Shell WON::Exit");
  443.     Op("$.control", "=", "|Shell::Multi");
  444.     Activate("*$.control");
  445.   }
  446.   OnEvent("WON::Back")
  447.   {
  448.     Op("gamegod.flow.state", "=", "WON");
  449.  
  450.     Con("Diag", "Shell WON::Back");
  451.     Op("$.control", "=", "");
  452.     Activate("|WonSetup");
  453.   }
  454.  
  455.   OnEvent("Network::Enter")
  456.   {
  457.     Op("gamegod.flow.state", "=", "Network");
  458.  
  459.     Con("Diag", "Shell Network::Enter");
  460.     Deactivate("*$.control");
  461.     Activate("|MultiPlayer::Sessions");
  462.   }
  463.   OnEvent("Network::Exit")
  464.   {
  465.     Op("gamegod.flow.state", "=", "");
  466.  
  467.     Con("Diag", "Shell Network::Exit");
  468.     Op("$.control", "=", "|Shell::Multi");
  469.     Activate("*$.control");
  470.   }
  471.  
  472.   OnEvent("Setup::Back")
  473.   {
  474.     Con("Diag", "Shell Setup::Back");
  475.  
  476.     Switch("gamegod.flow.state")
  477.     {
  478.       Case("Instant")
  479.       {
  480.         SendNotifyEvent("", "Instant::Exit");
  481.       }
  482.       Case("WON")
  483.       {
  484.         SendNotifyEvent("", "WON::Back");
  485.       }
  486.       Case("Network")
  487.       {
  488.         SendNotifyEvent("", "Network::Enter");
  489.       }
  490.     }
  491.   }
  492. }
  493.  
  494. CreateControl("Shell::Main", "Window")
  495. {
  496.   Style("Transparent", "!DropShadow");
  497.   Geometry("ParentWidth", "ParentHeight");
  498.  
  499.   CreateControl("CampaignSelection", "Game::CampaignSelection")
  500.   {
  501.     ReadTemplate("Std::WindowNoTitle");
  502.     Style("AdjustWindow", "NoSysButtons");
  503. //    Text("Dark Reign 2 Demo");
  504.     Size(230, 120);
  505.     Geometry("HCentre", "VCentre");
  506.     Pos(0, -30);
  507.  
  508.     CreateControl("CampaignDropListTitle", "Static")
  509.     {
  510.       Font("System");
  511. //      Pos(15, 5);
  512.       Pos(0, 1500);
  513.       Size(200, 20);
  514.       Style("Transparent");
  515.       JustifyText("Left");
  516.       Text("#shell.win.campaign.select");
  517.     }
  518.  
  519.     CreateControl("CampaignDropList", "DropList")
  520.     {
  521.       Align("^");
  522.       Geometry("HInternal", "Bottom");
  523.       ReadRegData("Reg::Std::DropList");
  524.       Pos(0, 5);
  525.       Size(200, 20);
  526.       Height(170);
  527.  
  528.       UseVar("$<.campaignName");
  529.  
  530.       ListBox("ListBox")
  531.       {
  532.         ReadTemplate("Std::SliderListBox");
  533.         Geometry("ParentWidth", "ParentHeight");
  534.         ItemConfig()
  535.         {
  536.           Font("System");
  537.           Geometry("AutoSizeY", "ParentWidth");
  538.         }
  539.       }
  540.     }
  541.  
  542.     CreateControl("MissionDropListTitle", "Static")
  543.     {
  544. //      Align("^");
  545. //      Geometry("HInternal", "Bottom");
  546.       Style("Transparent");
  547. //      Pos(0, 5);
  548.       Pos(15, 5);
  549.       Size(200, 20);
  550.       Font("System");
  551.       JustifyText("Left");
  552.       Text("#shell.win.campaign.next");
  553.     }
  554.  
  555.     CreateControl("MissionDropList", "DropList")
  556.     {
  557.       Align("^");
  558.       ReadRegData("Reg::Std::DropList");
  559.       Geometry("HInternal", "Bottom");
  560.       Pos(0, 5);
  561.       Size(200, 20);
  562.       Height(60);
  563.  
  564.       UseVar("$<.missionName");
  565.  
  566.       ListBox("ListBox")
  567.       {
  568.         ReadTemplate("Std::SliderListBox");
  569.         Geometry("ParentWidth", "ParentHeight");
  570.         ItemConfig()
  571.         {
  572.           Font("System");
  573.           Geometry("AutoSizeY", "ParentWidth");
  574.         }
  575.       }
  576.     }
  577.  
  578.     CreateControl("DifficultyDropListTitle", "Static")
  579.     {
  580.       Align("^");
  581.       Geometry("HInternal", "Bottom");
  582.       Style("Transparent");
  583.       Pos(0, 5);
  584.       Size(200, 20);
  585.       Font("System");
  586.       JustifyText("Left");
  587.       Text("#shell.win.campaign.difficulty");
  588.     }
  589.  
  590.     CreateControl("DifficultyDropList", "DropList")
  591.     {
  592.       Align("^");
  593.       ReadRegData("Reg::Std::DropList");
  594.       Geometry("HInternal", "Bottom");
  595.       Pos(0, 5);
  596.       Size(200, 20);
  597.       Height(60);
  598.  
  599.       UseVar("$<.difficulty");
  600.  
  601.       ListBox("Game::DifficultyList")
  602.       {
  603.         ReadTemplate("Std::SliderListBox");
  604.         ItemConfig()
  605.         {
  606.           Font("System");
  607.           Geometry("AutoSizeY", "ParentWidth");
  608.         }
  609.       }
  610.     }
  611.  
  612.     OnEvent("Window::Notify::Activated")
  613.     {
  614.       DisableRecurse("CampaignDropList");
  615.     }
  616.   }
  617.  
  618.   CreateControl("Launch", "ShellMainBigButton")
  619.   {
  620.     Align("^");
  621.     Geometry("HInternal", "HCentre", "Bottom");
  622.     Pos(0, 20);
  623.     Text("#shell.buttons.load");
  624.     TranslateEvent("Button::Notify::Pressed", "Game::CampaignSelection::Message::Load", "<CampaignSelection");
  625.   }
  626.  
  627.   CreateControl("LoadGame", "ShellMainButton")
  628.   {
  629. //    Align("<Launch");
  630.     Geometry("Bottom", "HCentre");
  631.     Pos(-200, -10);
  632.     Text("#shell.win.options.saveload.title");
  633.     TranslateEvent("Button::Notify::Pressed", "Load::Enter", "|Shell::EventHandler");
  634.   }
  635.  
  636.   CreateControl("Options", "ShellMainButton")
  637.   {
  638. //    Align("<Launch");
  639.     Geometry("Bottom", "HCentre");
  640.     Pos(0, -10);
  641.     Text("#shell.buttons.cfg");
  642.     TranslateEvent("Button::Notify::Pressed", "Options::Enter", "|Shell::EventHandler");
  643.   }
  644.  
  645.   CreateControl("Quit", "ShellMainButton")
  646.   {
  647.     Pos(200, -10);
  648.     Geometry("Bottom", "HCentre");
  649.     Text("#standard.buttons.quit");
  650.     OnEvent("Button::Notify::Pressed")
  651.     {
  652.       Cmd("quit");
  653.     }
  654.   }
  655.  
  656.   CreateControl("Activision", "Static")
  657.   {
  658.     Size(128, 128);
  659.     Pos(5, 40);
  660.     ColorGroup("sys::texture");
  661.     Image("interface_activision_logo.pic");
  662.   }
  663.  
  664.   CreateControl("Dr2", "Static")
  665.   {
  666.     Size(256, 256);
  667.     Pos(0, -50);
  668.     Geometry("HCentre");
  669.     ColorGroup("sys::texture");
  670.     Image("dr2-logo_2.pic");
  671.   }
  672.  
  673.   CreateControl("Pandemic", "Static")
  674.   {
  675.     Size(128, 128);
  676.     Geometry("Right");
  677.     Pos(25, 5);
  678.     ColorGroup("sys::texture");
  679.     Image("interface_pandemic_logo.pic");
  680.   }
  681. }
  682.  
  683.  
  684. CreateControl("Shell::Load", "Window")
  685. {
  686.   Style("Transparent", "!DropShadow");
  687.   Geometry("ParentWidth", "ParentHeight");
  688.  
  689.   CreateControl("LoadWindow", "Window")
  690.   {
  691.     ReadTemplate("Std::Window");
  692.     Text("#shell.win.load.title");
  693.     Size(500, 400);
  694.     Geometry("HCentre", "VCentre");
  695.     Style("TitleBar", "AdjustWindow", "NoSysButtons");
  696.  
  697.     CreateControl("Tabs", "Class::OptionsTabGroup")
  698.     {
  699.       Add("SaveLoad", "Class::SaveLoad")
  700.       {
  701.         ReadTemplate("Std::Client");
  702.       }
  703.     }
  704.  
  705.     CreateControl("ReturntoMain", "ShellMainButton")
  706.     {
  707.       Pos(-10, -10);
  708.       Geometry("Bottom", "Right");
  709.       Text("#shell.buttons.mainmenu");
  710.       TranslateEvent("Button::Notify::Pressed", "Load::Exit", "|Shell::EventHandler");
  711.     }
  712.   }
  713. }
  714.  
  715.  
  716. CreateControl("Shell::Options", "Window")
  717. {
  718.   Style("Transparent", "!DropShadow");
  719.   Geometry("ParentWidth", "ParentHeight");
  720.  
  721.   CreateControl("Options", "Window")
  722.   {
  723.     ReadTemplate("Std::Window");
  724.     Text("#shell.win.options.title");
  725.     Size(500, 400);
  726.     Geometry("HCentre", "VCentre");
  727.     Style("TitleBar", "AdjustWindow", "NoSysButtons");
  728.  
  729.     CreateControl("Tabs", "Class::OptionsTabGroup")
  730.     {
  731.       Add("Gameplay", "Class::ShellOptions")
  732.       {
  733.         ReadTemplate("Std::Client");
  734.       }
  735.       Add("Video", "Class::VideoOptions")
  736.       {
  737.         ReadTemplate("Std::Client");
  738.       }
  739.       Add("Sound", "Class::SoundOptions")
  740.       {
  741.         ReadTemplate("Std::Client");
  742.       }
  743.     }
  744.  
  745.     CreateControl("Selector", "Class::OptionsSelector")
  746.     {
  747.       AddItem("Gameplay")
  748.       {
  749.         Text("#shell.win.options.gameplay.gameplay");
  750.         TranslateEvent("Button::Notify::Pressed", "TabGroup::Message::Select", "<<Tabs", "Gameplay");
  751.       }
  752.       AddItem("Video")
  753.       {
  754.         Text("#shell.win.options.video.video");
  755.         TranslateEvent("Button::Notify::Pressed", "TabGroup::Message::Select", "<<Tabs", "Video");
  756.       }
  757.       AddItem("Sound")
  758.       {
  759.         Text("#shell.win.options.sound.sound");
  760.         TranslateEvent("Button::Notify::Pressed", "TabGroup::Message::Select", "<<Tabs", "Sound");
  761.       }
  762.     }
  763.  
  764.     CreateControl("ReturntoMain", "ShellMainButton")
  765.     {
  766.       Pos(-10, -10);
  767.       Geometry("Bottom", "Right");
  768.       Text("#shell.buttons.mainmenu");
  769.       TranslateEvent("Button::Notify::Pressed", "Options::Exit", "|Shell::EventHandler");
  770.     }
  771.   }
  772. }
  773.  
  774.  
  775.